package cn.ynrcb.personnelfile.sysadmin.service;

import cn.ynrcb.personnelfile.admin.vo.OrgVo;
import cn.ynrcb.personnelfile.common.utils.PageUtils;
import cn.ynrcb.personnelfile.sysadmin.entity.SysOrgEntity;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.List;
import java.util.Map;

/**
 *
 *
 * @author shiwenbo
 * @email 282398188@qq.com
 * @date 2019-06-19 16:31:01
 */
public interface SysOrgService extends IService<SysOrgEntity> {

	String generateInnerCode(SysOrgEntity org);

    PageUtils queryPage(Map<String, Object> params);

	void saveOrg(SysOrgEntity sysOrg);

	Boolean updateOrg(SysOrgEntity sysOrg);

	/**
	 * 根据ids更新组织（组织/机构）状态
	 * @param ids
	 */
	void updateStatusByIds(List<Integer> ids);

	/**
	 * 根据pid查询下级机构和企业树
	 * @param pid
	 * @return
	 */
	JSONArray treeData(Integer pid);

	/**
	 * 获取用户组织树
	 * @return
	 */
	List<SysOrgEntity> orgAndUserTree();

    int childCount(List<Integer> asList);

    List<SysOrgEntity> queryOrgTree();

    String getAssociation(Long orgId);


    List<OrgVo> findOrg();
}

